

require "base/define"
require "base/baseclass"

-- 状态模式
-- require "mod/state_pattern/state"
-- require "mod/state_pattern/start_state"
-- require "mod/state_pattern/stop_state"
-- require "mod/state_pattern/context"
-- require "mod/state_pattern/state_pattern_demo"

-- 外观模式
-- require "mod/facade_pattern/shape"
-- require "mod/facade_pattern/circle"
-- require "mod/facade_pattern/rectangle"
-- require "mod/facade_pattern/square"
-- require "mod/facade_pattern/shape_maker"
-- require "mod/facade_pattern/facade_pattern_demo"

-- 单例模式
require "mod/singleton_pattern/singleObject"

-- 中介模式
require "mod/mediator_pattern/abstract_card_partner"
require "mod/mediator_pattern/abstract_mediator"
require "mod/mediator_pattern/partner_a"
require "mod/mediator_pattern/partner_b"
require "mod/mediator_pattern/mediator"
require "mod/mediator_pattern/mediator_pattern_demo"

-- 桥接模式
-- require "mod/bridge_pattern/drawAPI"
-- require "mod/bridge_pattern/green_circle"
-- require "mod/bridge_pattern/red_circle"
-- require "mod/bridge_pattern/shape"
-- require "mod/bridge_pattern/circle"
-- require "mod/bridge_pattern/bridge_pattern_demo"

-- 策略模式
require "mod/strategy_pattern/strategy"
require "mod/strategy_pattern/operation_add"
require "mod/strategy_pattern/operation_multiply"
require "mod/strategy_pattern/operation_substract"
require "mod/strategy_pattern/context"
require "mod/strategy_pattern/strategy_pattern_demo"

-- 模板模式
require "mod/template_pattern/game"
require "mod/template_pattern/cricket"
require "mod/template_pattern/football"
require "mod/template_pattern/template_pattern_demo"

-- 工厂模式
-- require "mod/factory_pattern/shape"
-- require "mod/factory_pattern/circle"
-- require "mod/factory_pattern/rectangle"
-- require "mod/factory_pattern/square"
-- require "mod/factory_pattern/shape_factory"
-- require "mod/factory_pattern/factory_pattern_demo"

-- 建造者模式
require "mod/builder_pattern/item"
require "mod/builder_pattern/packing"
require "mod/builder_pattern/wrapper"
require "mod/builder_pattern/bottle"
require "mod/builder_pattern/burger"
require "mod/builder_pattern/cold_drink"
require "mod/builder_pattern/veg_burger"
require "mod/builder_pattern/chicken_burger"
require "mod/builder_pattern/pepsi"
require "mod/builder_pattern/coke"
require "mod/builder_pattern/meal"
require "mod/builder_pattern/meal_builder"
require "mod/builder_pattern/builder_pattern_demo"

-- 享元模式
require "mod/flyweight_pattern/shape"
require "mod/flyweight_pattern/circle"
require "mod/flyweight_pattern/shape_factory"
require "mod/flyweight_pattern/flyweight_pattern_demo"

-- 组合模式
require "mod/composite_pattern/employee"
require "mod/composite_pattern/composite_pattern_demo"

-- 命令模式
require "mod/command_pattern/order"
require "mod/command_pattern/buy_stock"
require "mod/command_pattern/sell_stock"
require "mod/command_pattern/broker"
require "mod/command_pattern/stock"
require "mod/command_pattern/command_pattern_demo"

-- 责任链模式
require "mod/chain_of_responsibility_pattern/logger_enum"
require "mod/chain_of_responsibility_pattern/abstract_logger"
require "mod/chain_of_responsibility_pattern/console_logger"
require "mod/chain_of_responsibility_pattern/error_logger"
require "mod/chain_of_responsibility_pattern/file_logger"
require "mod/chain_of_responsibility_pattern/chain_pattern_demo"

-- 观察者模式
require "mod/observer_pattern/subject"
require "mod/observer_pattern/observer"
require "mod/observer_pattern/octal_observer"
require "mod/observer_pattern/binary_observer"
require "mod/observer_pattern/hexa_observer"
require "mod/observer_pattern/observer_pattern_demo"